1、正则表达式 /a+(bab)?(caac)*/ ,下列选项中是该正则表达式的子集是? :C
第一步:理解题目。
题目中的 a+ 代表 字符“a” 出现1次或者若干次,(bab)? 代表 字符 “bab” 出现一次或者0次,(caac)* 表示重复了“0或者若干次”的字符“caac”,即 字符“caac”出现0次或者若干次 。
若改题目为/李+太?白*/,可匹配:李、李太、李白、李太白、李李、李李太、李李白白、李李太白白等。
第二步:理解选项,选出子集。
A /(bab)(caca)/ :匹配含有 “babcaca” 的字符串,不是题目中的 “babcaac”, 就好比是在找 “太星” 而不是”太白”,而且没有a,所以该正则匹配的结果不可能出现在题目匹配的结果中,错误。
B /a(bab){2}(caac)*/ :其中(bab){2} 表示 字符串“bab”必须出现2次,与题干正则显然不同,错误。
C /a{2}/ :其中(a){2} 表示 字符“a”必须出现2次,就好比 “李李” ,属于题目匹配结果的子集,正确。
D /a+(bab){0,1}(ca)+(ca)/ :前半部分正确,后半部分(ca)+(ca)明显错误。
E /a(^bab)+(caac){1,}/:正则本身有误,(^bab)匹配以”bab”开头的字符串,但前面还有a,也就是匹配以a开头的字符串,两者矛盾。
F /a+(babc){2,}(acc){1,}/:分组和区间值都不正确。
2、目前 HTTP2 协议已经逐渐普及到日常服务器中,以下对于 HTTP2 协议描述正确的是:ABCD
http2的新特性:多路复用 二进制分帧 首部压缩(Header Compression) 服务端推送(Server Push)
- 所有http请求都建立在一个TCP请求上,实现多路复用
- 可以给请求添加优先级
- 服务器主动推送 server push
- HTTP2的头部会减小,从而减少流量传输
3、请问下面哪种方式可以在不改变原来数组的情况下,拷贝出数组 b ,且满足 b!=a 。例如数组 a 为 [1,2,3] 。 :BD
- let b=a;
- let b=a.slice();
- let b=a.splice(0,0);
- let b=a.concat();
A选项 b=[1,2,3] b==a
B选项 b=[1,2,3] b!=a
C选项 b=[] b!=a
D选项 b=[1,2,3] b!=a